se.cs.ieu.edu.tr
Dersin Adı | |
Kodu | Yarıyıl | Teori (saat/hafta) | Uygulama/Lab (saat/hafta) | Yerel Kredi | AKTS |
---|---|---|---|---|---|
Bahar |
Ön-Koşul(lar) |
| ||||||||
Dersin Dili | |||||||||
Dersin Türü | Zorunlu | ||||||||
Dersin Düzeyi | - | ||||||||
Dersin Veriliş Şekli | - | ||||||||
Dersin Öğretim Yöntem ve Teknikleri | Grup çalışmasıProblem çözmeDeney / Laboratuvar / Atölye uygulama | ||||||||
Dersin Koordinatörü | |||||||||
Öğretim Eleman(lar)ı | |||||||||
Yardımcı(ları) |
Dersin Amacı | |
Öğrenme Çıktıları | Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Ders Tanımı |
| Temel Ders | X |
Uzmanlık/Alan Dersleri | ||
Destek Dersleri | ||
İletişim ve Yönetim Becerileri Dersleri | ||
Aktarılabilir Beceri Dersleri |
Hafta | Konular | Ön Hazırlık |
1 | C++ Temellerine Giriş: C’den C++ programlama diline. | C How to Program, Deitel, Ünite 15 |
2 | Nesne Yönelimli Programlamaya Giriş: Sınıflar, nesneler, üye fonksiyonlar ve veri üyeleri; Lab#1. | C How to Program, Deitel, Ünite 16 |
3 | Sınıflar: Sınıf alanı, yardımcı fonksiyonlar, kurucular ve bozucular, arkadaş fonksiyonlar ve arkadaş sınıflar, “this” işaretçisi, statik sınıf üyeleri, veri soyutlama ve bilgi gizleme; Lab#2. | C How to Program, Deitel, 17. ve 18. Üniteler |
4 | Kalıtım I. Bölüm: Kalıtıma giriş, temel sınıflar ve türemiş sınıflar, “protected” üyeler; Lab#3. | C How to Program, Deitel, Ünite 20 |
5 | Kalıtım II. Bölüm: Temel sınıflar ve türemiş sınıflar arasındaki ilişki, “public”, “protected” ve “private” kalıtım; Lab#4. | C How to Program, Deitel, Ünite 20 |
6 | Kalıtım III. Bölüm: Kalıtım uygulamaları; Lab#5. | C How to Program, Deitel, Ünite 20 |
7 | Arasınav I | |
8 | Çok Biçimlilik I. Bölüm: Çok biçimliliğe giriş, sanal fonksiyonlar, dinamik bağlama, çok biçimlilik örnekleri; Arasınav#1 çözümü. | C How to Program, Deitel, Ünite 21 |
9 | Çok Biçimlilik II. Bölüm: Soyut sınıflar ve saf sanal fonksiyonlar; Lab#6. | C How to Program, Deitel, Ünite 21 |
10 | Çok Biçimlilik III. Bölüm: Çok biçimlilik uygulamaları; Lab#7. | C How to Program, Deitel, Ünite 21 |
11 | Arasınav II | |
12 | Operatör Yükleme: Operatör yüklemenin temelleri, sınıf üyeleri olarak operatör fonksiyonlarına karşı küresel fonksiyon, akış ekleme ve akış çıkarma operatörleri, birli operatörleri yükleme, ikili operatörleri yükleme; Arasınav#2 çözümü. | C How to Program, Deitel, Ünite 19 |
13 | Akış Giriş/Çıkış: Akışlar, akış çıkışı, akış girişi, akış düzenleyicileri; Lab#8. | C How to Program, Deitel, Ünite 23 |
14 | Tekrar; Lab#9 | |
15 | Dönemin gözden geçirilmesi | |
16 | Dönemin gözden geçirilmesi |
Ders Kitabı | C How to Program, 7/E, Deitel &Deitel, Prentice Hall, ISBN10: 0137059663, ISBN13: 9780137059669 |
Önerilen Okumalar/Materyaller | Ders sunumları / İnternette bulunan eğitici C++ rehberleri / Açık kaynak yazılım: GNU C++ (g++), www.gnu.org |
Yarıyıl Aktiviteleri | Sayı | Katkı Payı % |
Katılım | ||
Laboratuvar / Uygulama | ||
Arazi Çalışması | ||
Küçük Sınav / Stüdyo Kritiği | ||
Portfolyo | ||
Ödev | ||
Sunum / Jüri Önünde Sunum | ||
Proje | ||
Seminer/Çalıştay | ||
Sözlü Sınav | ||
Ara Sınav | 2 | 60 |
Final Sınavı | 1 | 40 |
Toplam |
Yarıyıl İçi Aktivitelerin Başarı Notuna Katkısı | 60 | |
Yarıyıl Sonu Aktivitelerin Başarı Notuna Katkısı | 40 | |
Toplam |
Yarıyıl Aktiviteleri | Sayı | Süre (Saat) | İş Yükü |
---|---|---|---|
Teorik Ders Saati (Sınav haftası dahildir: 16 x teorik ders saati) | 16 | 2 | 32 |
Laboratuvar / Uygulama Ders Saati (Sınav haftası dahildir. 16 x uygulama/lab ders saati) | 16 | 2 | |
Sınıf Dışı Ders Çalışması | 15 | 6 | |
Arazi Çalışması | |||
Küçük Sınav / Stüdyo Kritiği | |||
Portfolyo | |||
Ödev | |||
Sunum / Jüri Önünde Sunum | |||
Proje | |||
Seminer/Çalıştay | |||
Sözlü Sınav | |||
Ara Sınavlar | 2 | 15 | |
Final Sınavı | 1 | 16 | |
Toplam | 200 |
# | Program Yeterlilikleri / Çıktıları | * Katkı Düzeyi | ||||
1 | 2 | 3 | 4 | 5 | ||
1 | Gerçek hayata ilişkin sorunları tanımlayarak, yazılım proje, süreç ve ürününe ait fonksiyonel ve fonksiyonel olmayan özellikleri tanımlayabilmek | X | ||||
2 | Yazılım mimarisi, bileşenleri, arayüzleri ve sisteme ait diğer bileşenleri tanımlayabilmek | X | ||||
3 | Kodlama, doğrulama (verification), birim testleri (unit testing) ve hata ayıklama (dubugging) konularını da içerecek şekilde yazılım geliştirebilmek | X | ||||
4 | Programın davranışlarını, yürütüm koşullarını, ve beklenen sonuçlara göre yazılımı sınayarak doğrulayabilmek | X | ||||
5 | Yazılımın çalışması sırasında, çalışma ortamının değişmesi, yeni kullanıcı istekleri ve yazılım hatalarının ortaya çıkması ile meydana gelen bakım faaliyetlerine yönelik işlemleri yapabilmek | X | ||||
6 | Yazılımın yaşam sürecinde, yazılımın diğer yazılım sistemleri ile olan entegrasyonunu sağlamak, yazılımda yapılan değişiklikleri yönetmek, yazılımın piyasa sürümlerini ve ara sürümlerini sistematik olarak planlayabilmek, izleyebilmek ve denetleyebilmek | X | ||||
7 | Yazılım mühendisliğine yönelik gereksinimlerin anlaşılması, olurluluk çalışmalarına göre hedeflerin saptanması, süreçlerin planlanması, çıktıların belirlenmesi, kaynak planlamalarının yapılması, maliyetlerin saptanması, kaynakların tahsisi, risk yönetimi, kalite planlaması konularında bilgi sahibi olmak | X | ||||
8 | Yazılım mühendisliği süreçlerini tanımlayabilme, uygulayabilme, değerlendirebilme, ölçme, yönetme, değiştirme ve geliştirme konularında bilgi sahibi olmak | X | ||||
9 | Yazılım gereksinimi, tasarımı, geliştirmesi, sınaması, bakımı, yapılanışı, yönetimi ve kalitesi konularındaki çeşitli araçları ve yöntemleri bilmek, kullanabilme pratiğine sahip olmak | X | ||||
10 | Yazılım yaşam döngüsü süreçlerinde, yazılım kalitesi, kalite modelleri ve karakteristikleri konularını bilmek, temel kalite ölçümlerini yapabilmek ve bunları yazılım geliştirme, doğrulama ve sınama konularıyla birlikte yorumlayabilmek | X | ||||
11 | Başta bilgisayar mühendisliği, yönetim, matematik, proje yönetimi, kalite yönetimi, yazılım ergonomisi ve sistem mühendisliği olmak üzere, yazılım mühendisliği ile ortak sınırlara ve değerlere sahip diğer disiplinler hakkında bilgi sahibi olmak | X | ||||
12 | Genelde mühendislik özelde yazılım mühendisliği kültürü ve etik anlayışını kavrayabilmek, uygulayabilecek temel bilgilere sahip olmak | X | ||||
13 | Yabancı dil kullanarak konusuna ait yayınları takip edebilmek, meslektaşları ile iletişim kurabilmek | X |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest